Java Technologies Excel, Word এবং PowerPoint ফাইলে Embedded Object যোগ করা গাইড ও নোট

262

অ্যাপাচি পিওআই (Apache POI) লাইব্রেরি দিয়ে Excel, Word, এবং PowerPoint ফাইলে embedded object যোগ করা সম্ভব। Embedded object হলো অন্য কোনো ফাইল বা ডকুমেন্টের অংশ যা মূল ডকুমেন্টের ভিতরে অন্তর্ভুক্ত থাকে। এটি সাধারণত PDF, Excel, Word, অথবা Image ফাইল হতে পারে। অ্যাপাচি পিওআই এর মাধ্যমে এই ধরনের অবজেক্ট এক্সেল, ওয়ার্ড, এবং পাওয়ারপয়েন্ট ফাইলের মধ্যে অন্তর্ভুক্ত করা যায়।


Excel ফাইলে Embedded Object যোগ করা

এক্সেল ফাইলে সাধারণত OLE (Object Linking and Embedding) অবজেক্ট বা Image ফাইল যোগ করা হয়। অ্যাপাচি পিওআই দিয়ে Excel শীটে Embedded OLE Object যোগ করা সম্ভব হলেও, এই প্রক্রিয়া কিছুটা জটিল এবং POI সরাসরি এতে কাজ করতে পারে না। তবে, কিছু আউটপুট ফরম্যাট যেমন XSSF বা SXSSF এর মাধ্যমে ইমেজ বা ছোট ফাইল অন্তর্ভুক্ত করা যেতে পারে।

// Example of embedding an image in Excel using Apache POI
FileInputStream fis = new FileInputStream("example.xlsx");
XSSFWorkbook workbook = new XSSFWorkbook(fis);
XSSFSheet sheet = workbook.getSheetAt(0);

// Add image as an embedded object
InputStream is = new FileInputStream("image.png");
byte[] imageBytes = is.readAllBytes();
int pictureIdx = workbook.addPicture(imageBytes, Workbook.PICTURE_TYPE_PNG);
is.close();

// Create an anchor to place the image
XSSFRichTextString str = new XSSFRichTextString("Embedded Image Example");
XSSFRichTextString anchor = new XSSFRichTextString("Test");

// Write image into Excel
XSSFPictureData picture = sheet.createDrawingPatriarch().createPicture(new XSSFRichTextString(), pictureIdx);
picture.resize();

fis.close();
workbook.write(new FileOutputStream("embedded_example.xlsx"));
workbook.close();

এখানে একটি ইমেজ যোগ করা হয়েছে, তবে OLE অবজেক্ট যোগ করতে POI এর সাপোর্ট সীমিত।


Word ফাইলে Embedded Object যোগ করা

Word ডকুমেন্টে embedded objects যোগ করার জন্য XWPF ক্লাস ব্যবহার করা হয়। OLE অবজেক্ট যেমন Excel, PDF, বা Image ফাইল Word ডকুমেন্টে ইমবেড করা যেতে পারে।

Word ডকুমেন্টে Embedded Object যোগ করা

// Example of embedding an object in a Word document (XWPF)
FileInputStream fis = new FileInputStream("example.docx");
XWPFDocument document = new XWPFDocument(fis);

// Create a paragraph and embed the object (like an image)
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("Embedded Object Example");

// Assuming the object is an image
FileInputStream imageStream = new FileInputStream("image.jpg");
run.addPicture(imageStream, XWPFDocument.PICTURE_TYPE_JPEG, "image.jpg", Units.toEMU(100), Units.toEMU(100));
imageStream.close();

fis.close();
document.write(new FileOutputStream("embedded_word_example.docx"));
document.close();

এখানে একটি ইমেজ Word ডকুমেন্টে এমবেড করা হয়েছে। একইভাবে, OLE Object যেমন Excel বা PDF ফাইলও এমবেড করা যেতে পারে, তবে এটা একটু জটিল এবং কিছু অতিরিক্ত কনফিগারেশনের প্রয়োজন হয়।


PowerPoint ফাইলে Embedded Object যোগ করা

PowerPoint (PPTX) ফাইলে embedded object যোগ করা যেতে পারে, যেমন Excel, Word ফাইল, বা Image। POI এর XSLF প্যাকেজের মাধ্যমে PowerPoint ফাইলের স্লাইডে এসব অবজেক্ট এমবেড করা সম্ভব।

PowerPoint ফাইলে Embedded Object যোগ করা

// Example of embedding an object in a PowerPoint slide (XSLF)
XMLSlideShow ppt = new XMLSlideShow();
XSLFSlide slide = ppt.createSlide();

// Embed an image in the slide
FileInputStream imageStream = new FileInputStream("image.jpg");
XSLFPictureData pictureData = ppt.addPicture(imageStream, PictureData.PictureType.JPEG);
XSLFPictureShape pictureShape = slide.createPicture(pictureData);
imageStream.close();

ppt.write(new FileOutputStream("embedded_ppt_example.pptx"));
ppt.close();

এখানে একটি ইমেজ PowerPoint স্লাইডে এমবেড করা হয়েছে। PowerPoint এর স্লাইডে এমবেডেড Excel, PDF, অথবা অন্যান্য ফাইল types প্রক্রিয়া করতে হয় OLE অবজেক্টের মাধ্যমে, তবে POI সরাসরি এই ধরনের ফাইল এমবেড করার সুবিধা দেয় না।


সারাংশ

অ্যাপাচি পিওআই লাইব্রেরি ব্যবহার করে Excel, Word, এবং PowerPoint ফাইলে embedded objects যোগ করা সম্ভব। তবে, এই প্রক্রিয়াটি কিছু ক্ষেত্রে সীমিত এবং POI কিছু OLE Objects যোগ করার ক্ষেত্রে কিছু জটিলতা সৃষ্টি করতে পারে। সাধারণত ইমেজ, Excel ফাইল, অথবা PDF ফাইল এমবেড করা সহজ হলেও, অন্যান্য ধরনের অবজেক্ট এমবেড করতে অতিরিক্ত কনফিগারেশনের প্রয়োজন হতে পারে।

Content added By
Promotion

Are you sure to start over?

Loading...